6
תגובות

PROCESSING FILE

פתח moshe7799 ,
נכון יש אתרים שלמשל אתה מעלה קובץ והוא ממיר לך למשהו אחר
למשל DOC TO PDF
אז יש להם את הבר של האחוזים של עוד כמה זמן הקובץ יהיה מוכן
איך זה עובד? הרי זה בצד השרת זה לא כמו שאתה מעלה קובץ ואתה בודק את זה עם JS את האחוזים שעלו.

6 תשובות

avatar ענה Splash ב 21 למאי 2014 #

אתה יכול לקרוא על זה כאן - http://www.php.net/manual/en/session.upload-progress.php

שים לב שמדובר רק בהעלאה עצמה של הקובץ ואתה יכול להביא עוד 5%-10% להמרה עצמה.
כלומר אם אתה מקבל true על זה שהקובץ הועלה תרשום 90% ולפי הזמן שלקח לו לשלוח את הקובץ [או לפי הגודל שלו] תחשב כמה זמן נותר.

avatar ענה moshe7799 ב 21 למאי 2014 #

אז מה שאתה אומר לי פשוט תנחש כמה זמן זה יקח אחרי שהקובץ הועלה
אבל מה אם האתר פתאום עובד לאט או שהשרת רגע נתקע זה הפתרון היחיד? ככה זה עובד בעולם?

avatar ענה moshe7799 ב 21 למאי 2014 #

עכשיו זה גם לא הגיוני לי כי מה שאני רוצה בעצם בוא נגיד אני ממיר למישהו קובץ מסוג מסוים לסוג מסוים אני רוצה שברגע שהאחוז מגיע ל100 אחוז יופיע לו הקובץ המוכן להורדה אתה מבין?
זאת השאלה שלי אם לא הבנת אולי.

avatar ענה Splash ב 21 למאי 2014 #

אתה בסופו של דבר קובע מתי הוא מגיע ל 100%,מין הסתם שאם הקובץ לא מוכן אל תיתן לאחוז להגיע ל 100%,הבאתי לך את הפתרון על קצה המזלג,כמה שתרצה את זה יותר מדויק תצטרך לבצע יותר חישובים.
גם שאתה מוחק מהמחשב,איך אתה חושב שהוא קובע שהקובץ ימחק עוד דקה ולא 10 דקות ? הוא בודק מה הגודל של הקובץ,מה המהירות מחיקה ולפי זה מנחש כמה זמן יקח לו לא סתם לפעמים הוא רושם לך דקה ולוקח לו בפועל 5 דקות.
אותו דבר גם כשאתה מתקין תכנה,לא קרה לך אף פעם שהוא נתקע על 20% ואז פתאום את ה 70 האחרים הוא עשה בשניה ואז נתקע שוב על 99 ?
אין פה מדע מדויק,המחשב לא יודע להגיד לך "יקח לי עוד חמש דקות",אתה צריך לבדוק לפי הקצב שהוא מבצע את הקוד כמה זמן יקח לו עד שהוא יסיים.

בכל מקרה במידה ולא מדובר על קבצים גדולים אין סיבה שתרגיש בהבדל גם עם אלגוריתם פשוט יחסית ואם אתה כן מרגיש בהבדל סימן שאת העברה מ DOC ל PDF אתה לא מבצע בצורה יעילה.

avatar ענה moshe7799 ב 22 למאי 2014 #

אז אתה אומר שככה זה עובד?
כולם מחשבים בערך כמה זמן לוקח להם הפעולה על הקובץ ולפי זה מעלים את מד האחוזים? אין משהו מדויק שעושה את זה בשבילך?

avatar ענה intval ב 22 למאי 2014 #

אופציה אחת זה על בסיס זמן משואר,
אבל אם אתה רוצה תוצאה יותר מדויקת - ברור לך שהלקוח לא מנחש את האחוזים.
רוב התוכנות האלה שעושות המרה יודעות גם להחזיר פרוגרס. מה שנשאר לך לעשות - הוא לקבל מהם את הפרוגרס ולשלוח אותו מדי פעם לדפדפן, אם זה באמצעות ajax או באמצעות כל דרך אחרת